package proiectpcbe;

import java.util.ArrayList;

/**
 *
 * @author bufu
 */
public class StartJoc {

    private static boolean debugMode = false;
    private ArrayList<Jucator> m_jucatori;
    private ArrayList<Producator> m_producatori;
    private Comert m_comert;

    public StartJoc(int nrJucatori) {
        Cladire.populeazaCladiri();
        m_jucatori = new ArrayList<Jucator>();
        m_producatori = new ArrayList<Producator>();
        m_comert = new Comert();

        Resurse res = new Resurse();
        Producator producator;
        producator = new Producator(Resursa.LEMN, 3, 3);
        res.adaugaProducator(producator);
        m_producatori.add(producator);

        producator = new Producator(Resursa.LEMN, 1, 3);
        res.adaugaProducator(producator);
        m_producatori.add(producator);

        producator = new Producator(Resursa.PIATRA, 1, 1);
        res.adaugaProducator(producator);
        m_producatori.add(producator);

        producator = new Producator(Resursa.PIATRA, 1, 3);
        res.adaugaProducator(producator);
        m_producatori.add(producator);

        producator = new Producator(Resursa.METAL, 2, 2);
        res.adaugaProducator(producator);
        m_producatori.add(producator);

        for (int i = 0; i < nrJucatori; i++) {
            m_jucatori.add(new Jucator(this, m_comert, res, "Jucator" + i));
        }
    }

    public void stopJoc() {
        for (Producator prod : m_producatori) {
            prod.interrupt();
        }
        for (Jucator juc : m_jucatori) {
            juc.stopPlayer();
        }
        m_comert.afiseazaStatisticile();
    }

    private void startJoc() {
        for (Producator prod : m_producatori) {
            prod.start();
        }
        for (Jucator juc : m_jucatori) {
            juc.start();
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        StartJoc joc = new StartJoc(10);
        joc.startJoc();
    }

    public static void debug(String str) {
        if (StartJoc.debugMode) {
            System.out.println(str);
        }
    }
}
